Skip Headers

Oracle® Database Advanced Replication Management API Reference 10g Release 2 (10.2) Part Number B14227-01 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# 11 Introduction to the Replication Management API Reference

All installations of Advanced Replication include the replication management application programming interface (API). This replication management API is a collection of PL/SQL packages that administrators use to configure and manage replication features at each site. The Replication Management tool in the Oracle Enterprise Manager Console also uses the procedures and functions of each site's replication management API to perform work.

This chapter contains these topics:

- Examples of Using Oracle's Replication Management API

- Issues to Consider When Using the Replication Management API

- The Replication Management Tool and the Replication Management API

- Abbreviations for Datetime and Interval Datatypes

  Note: Some of the PL/SQL procedures and functions described in the chapters in this part are overloaded. That is, two or more procedures or functions have the same name in a single package, but their formal parameters differ in number, order, or datatype family. When a procedure or function is overloaded, it is noted in the description. See the Oracle Database PL/SQL User's Guide and Reference for more information about overloading and for more information about PL/SQL in general.

## Examples of Using Oracle's Replication Management API

To use Oracle's replication management API, you issue procedure or function calls using a query tool such as SQL*Plus or Enterprise Manager SQL Worksheet. For example, the following call to the `DBMS_REPCAT`.`CREATE_MASTER_REPOBJECT` procedure creates a new replicated table `hr.employees` in the `hr_repg` replication group:

    BEGIN
       DBMS_REPCAT.CREATE_MASTER_REPOBJECT (
          gname => 'hr_repg',
          type => 'TABLE',
          oname => 'employees',
          sname => 'hr',
          use_existing_object => TRUE,
          copy_rows => FALSE);
    END;
    /

To call a replication management API function, you must provide an environment to receive the return value of the function. For example, the following anonymous PL/SQL block calls the `DBMS_DEFER_SYS`.`DISABLED` function in an `IF` statement.

    BEGIN
     IF DBMS_DEFER_SYS.DISABLED ('inst2') THEN
       DBMS_OUTPUT.PUT_LINE('Propagation to INST2 is disabled.');
     ELSE
       DBMS_OUTPUT.PUT_LINE('Propagation to INST2 is enabled.');
     END IF;
    END;
    /

## Issues to Consider When Using the Replication Management API

For many procedures and functions in the replication management API, there are important issues to consider. For example:

- Some procedures or functions are appropriate to call only from the master definition site in a multimaster configuration.

- To perform some administrative operations for master groups, you must first suspend replication activity for the group before calling replication management API procedures and functions.

- The order in which you call different procedures and functions in Oracle's replication management API is extremely important. See the next section for more information about learning how to correctly issue replication management calls.

## The Replication Management Tool and the Replication Management API

The Replication Management tool uses the replication management API to perform most of its functions. Using the Replication Management tool is much more convenient than issuing replication management API calls individually because the utility:

- Provides a GUI interface to type in and adjust API call parameters

- Automatically orders numerous, related API calls in the proper sequence

- Displays output returned from API calls in message boxes and error files

## Abbreviations for Datetime and Interval Datatypes

Many of the datetime and interval datatypes have names that are too long to be used with the procedures and functions in the replication management API. Therefore, you must use abbreviations for these datatypes instead of the full names. The following table lists each datatype and its abbreviation. No abbreviation is necessary for the `DATE` and `TIMESTAMP` datatypes.

Datatype | Abbreviation
--- | ---
`TIMESTAMP` `WITH` `TIME` `ZONE` | `TSTZ`
`TIMESTAMP` `LOCAL` `TIME` `ZONE` | `TSLTZ`
`INTERVAL` `YEAR` `TO` `MONTH` | `IYM`
`INTERVAL` `DAY` `TO` `SECOND` | `IDS`

For example, if you want to use the `DBMS_DEFER_QUERY.GET_``datatype``_ARG` function to determine the value of a `TIMESTAMP` `LOCAL` `TIME` `ZONE` argument in a deferred call, then you substitute `TSLTZ` for `datatype`. Therefore, you run the `DBMS_DEFER_QUERY.GET_TSLTZ_ARG` function.